Loading...
 

MorphIT Slots

MorphIT Slots

Due to the fact that the web interface works fundamentally different and offers more possibilities than the native interface, there are well-known widget slots that are used to control the behaviour of the widget in MorphIT. Native these slots have no special meaning, therefore most slots are used in one direction (ClassiX Core (Native) -> MorphIT). However, bidirectional slots are necessary in the use cases where the user can change the slot value in MorphIT and ClassiX has to notice the new value.

Basically all slots with the Specifier morphIt, which are set on a widget, are also exported to MorphIT. The following slots currently have a special meaning. Bidirectional slots are highlighted in the following table.

Widget Slots
Name Widget type Description
morphIt.description

String,

text,

MLText,

ObjectListView

This allows you to override the widget type for MorphIT.

Currently the following conversions are supported:

  1. String to Date : The value "date" must be selected for this.
  2. Text/MLText to Rich Text Editor: The value "richtext" must be selected.
  3. ObjectListView to PivotTable: For this the value "pivot" must be selected.

Example:

"date" Widget Put(morphIt.description)
morphIt.drawingID

Prompts, Toplevel Group, Buttons, TreeList, ObjectListView

This slot can be used to inform MorphIT about certain properties of the display. These can be listed as a comma separated list.

Value Widget Presentation
bold Prompt Text is displayed bold.
call_to_action Button button is highlighted in a special colour. (For a definition of Call to action see e.g. Wikipedia. Further references can be found here and here).
stretch_bitmapButton4.13.1 This stretches the button bitmap to the width and height of the button. The aspect ratio of the image is ignored.
If the button does not contain a bitmap, this specification is ignored.
keep_ratioButton4.13.1 If this property is specified together with stretch_bitmap, then the button bitmap is scaled to the size of the button while maintaining the aspect ratio of the image. This may result in margins.
centre Group Group is centred instead of left-aligned as is normally the case.
non_foldable TreeList TreeList nodes can no longer be expanded and collapsed.
non_selectable

ObjectListView,
TreeList

Useful for tables that do not query GetObjectsSelected. The normally existing check or radio boxes for the selection are not displayed.
no_menu ObjectListView button for the menu of an ObjectListView is not displayed (and therefore no menu). This does not affect the column menus.
no_paging ObjectListView Paging control area in the ObjectListView is not displayed, independent of the flag NO_COLUMNHEADER, otherwise the flag NO_COLUMNHEADER decides about the display of the paging control area
border Group If set, the group gets a frame.
full_widthObjectListViewThis distributes the free width to those columns that do not have a fixed width. This behaviour automatically switches off when all columns get a fixed width (either specified by the AppsWH developer or by the end user).
morphIt.externalID Any A list of attributes of the form (name=value;name=value) that defines a special semantics for static export.
morphIt.format link This slot can be used to give CSS formatting instructions to the widget.
morphIt.isHidden Toplevel Group If this value is set to TRUE (!= 0), the group is collapsed from the beginning and can be expanded by the user. Normally the groups are expanded at the beginning and can be closed.
morphIt.masterObject String A JSON array of strings can be stored here, which are then listed as a selection list in MorphIT.
morphIt.model Button

Via this slot, MorphIT can be informed about certain properties of the functionality of a widget. These can be listed as a comma separated list.

Value Widget Presentation
pass_on_select Button

If a button widget has a context menu, it is automatically converted to a drop-down button. As a result, the left mouse click no longer sends a SELECT event and instead displays the context menu as a drop-down menu.

If the flag "pass_on_select" is set, this behaviour is deactivated and the context menu appears only when right-clicking and the SELECT event is passed on to ClassiX as usual when left-clicking (engl. pass on).

morphIt.number Menu item

Special roles in MorphIT are assigned to the menu items marked in this way. They are often displayed differently and in a separate area.

  • "Dropdown" indicates a drop-down menu. For this, not the top node is displayed, but the sub-nodes are options of a drop-down and as usual in drop-down menus the active element is displayed. It is further assumed that the sub-items of the marked menu item have no further sub-items, i.e. that no further nesting occurs. So you can e.g. realize the selection of the current language.
  • "Notice" indicates the imprint and similar contents. These are normally linked in the footer and are not visible in the regular menu.
  • "Notice=URL" (4.1.1) marks exactly the same as "Notice" an entry that is displayed in the footer, only that a link entry is generated in the footer from this, which directly opens the given URL. Opening the link does not trigger a SELECT event.
  • "Link=URL"(4.11.4) works the same as Notice=URLwith the difference that the menu item does not end up in the footer.
  • "UserIcon" indicates the user menu. The entry is normally marked with a user icon. It is expected that it does not have a submenu but can only be clicked directly.
morphIt.printPage ObjectListView This allows the number of lines per page in an ObjectListView to be specified and read out. Only positive values and 0 are allowed.
morphIt._jsonString ObjectListView This slot enables the IV developer to define extensive widget configurations bidirectionally in JSON format (as a string) and to read the user changes in MorphIT. With the ObjectListView this slot is used to define the configuration of the corresponding pivot table.
morphIt.fixTime Input widgets

Overwrites the server configuration input_delay for individual widgets. input_delay determines the time in milliseconds that must elapse after the last keystroke (input) before an ALTERED event is automatically triggered, even if the field has not yet been left.

A negative value is interpreted as an infinite timeout.